/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package gestionpistas;

import java.sql.*;
import javax.swing.*;

/**
 *
 * @author MiguelAngel
 */
public class gestorJDBC {
    
    private Connection miconexion;
    private Statement stSentencias;
    private ResultSet rsDatos;
    private PreparedStatement psPrepararSentencias;
     
        
   public void Conectar(){
        try{
            Class.forName("com.mysql.jdbc.Driver");
            String url="jdbc:mysql://db4free.net:3306/hipermegagloba";
            miconexion=DriverManager.getConnection(url,"hipermegagloba","hipermegagloba");
        }catch(Exception e){
            JOptionPane.showMessageDialog(null, "Error al conectar con la base de datos:\n"+e.getMessage());
        }
        
    }
       
    public void Desconectar(){
	try{ 
	   if(rsDatos!=null){
		   rsDatos.close();
	   }
	}catch(Exception ex){
            JOptionPane.showMessageDialog(null, "Error al desconectar de la BD:\n"+ex.getMessage());
	}
	
        try{ 
            if(stSentencias!=null){
                stSentencias.close();
            }
	}catch(Exception ex){
            JOptionPane.showMessageDialog(null, "Error al desconectar de la BD:\n"+ex.getMessage());
           
	}
	
        try{ 
            if(miconexion!=null){
                miconexion.close();
            }
	}catch(Exception ex){
            JOptionPane.showMessageDialog(null, "Error al desconectar de la BD:\n"+ex.getMessage());
          
	}
          
    }
       
    public boolean Insertar(String SQL) {
        // Preparamos la consulta 

        int r=0;
	try{ 
		stSentencias= miconexion.prepareStatement(SQL);
		r=stSentencias.executeUpdate(SQL); //Modifico
	}catch(Exception ex){
		JOptionPane.showMessageDialog(null, "Error al insertar en la base de datos:\n"+ex.getMessage());
		ex.printStackTrace();
	}
        
        if(r>0){
            return true;
        }else{
            return false;
        }    
    }
    
    public ResultSet Consultar(String SQL){
        try {
            stSentencias= miconexion.prepareStatement(SQL);
            return stSentencias.executeQuery (SQL);
        }catch (SQLException e) {
            e.printStackTrace();
            JOptionPane.showMessageDialog(null, "Error al hacer la consulta:\n"+e.getMessage());
	}
	return null;
    }
        
    public  boolean Modificar(String SQL) {

	// Preparamos la consulta 
        int r=0;
	
        try{ 
	stSentencias= miconexion.prepareStatement(SQL);
	r=stSentencias.executeUpdate(SQL); //Modifico

	}catch(Exception ex){
            ex.printStackTrace();
            JOptionPane.showMessageDialog(null, "Error al escribir en la base de datos:\n"+ex.getMessage());
	}

        if (r > 0){
            return true;
        }else{
            return false;
        }
    }
}
